﻿using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
using Castle.Components.Validator;
using MiragePWF.NH.Validation;
using Wolfut.MirageEE.Kernal.Common;
using Wolfut.MirageEE.Domain.CommonUtilities;

namespace Wolfut.MirageEE.Domain.Products
{
    /// <summary>
    /// 货物转存（调拨）明细信息 By Bruce.2009/03/15
    /// </summary>
    [ActiveRecord("WARE_TRANSFER_DETAILS")]
    public class WareHouseProductTransDetailInfo : PersistentObjectWithGuid
    {
        #region 调拨ID
        private string wareTransferID = string.Empty;
        /// <summary>
        /// 调拨ID
        /// </summary>
        [Property("WARE_TRANSFER_INFO_ID")]
        [ValidateNonEmpty, ValidateLength(0, 40, "调拨ID超长！")]
        public virtual string WareTransferID
        {
            get
            {
                return wareTransferID;
            }
            set
            {
                wareTransferID = value;
            }
        }
        #endregion

        #region 商品ID
        private string productID = string.Empty;
        /// <summary>
        /// 商品ID
        /// </summary>
        [Property("PRODUCT_ID")]
        [ValidateNonEmpty, ValidateLength(0, 40, "商品ID超长！")]
        public virtual string ProductID
        {
            get
            {
                return productID;
            }
            set
            {
                productID = value;
            }
        }
        #endregion

        #region 调入仓库
        private string importWarehouse = string.Empty;
        /// <summary>
        /// 调入仓库
        /// </summary>
        [Property("IMPORT_WAREHOUSE")]
        [ValidateLength(0, 100, "调入仓库超长！")]
        public virtual string ImportWarehouse
        {
            get
            {
                return importWarehouse;
            }
            set
            {
                importWarehouse = value;
            }
        }
        #endregion

        #region 调出仓库
        private string exportWarehouse = string.Empty;
        /// <summary>
        /// 调出仓库
        /// </summary>
        [Property("EXPORT_WAREHOUSE")]
        [ValidateLength(0, 100, "调出仓库超长！")]
        public virtual string ExportWarehouse
        {
            get
            {
                return exportWarehouse;
            }
            set
            {
                exportWarehouse = value;
            }
        }
        #endregion

        #region 数量
        private Decimal productQuantity;
        /// <summary>
        /// 数量
        /// </summary>
        [Property("PRODUCT_QUANTITY")]
        public virtual Decimal ProductQuantity
        {
            get
            {
                return productQuantity;
            }
            set
            {
                productQuantity = value;
            }
        }
        #endregion      

        #region 逻辑删除
        private Int16 isDeleted;
        /// <summary>
        /// 是否删除
        /// </summary>
        [Property("IS_DELETED")]
        public virtual Int16 IsDeleted
        {
            get
            {
                return isDeleted;
            }
            set
            {
                isDeleted = value;
            }
        }
        #endregion

    }
}
